package project.Dao;

import Utils.JDBCTemp;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import project.Domain.Task;

import java.util.List;

public class TaskDao {
    //    创建JdbcTemplate对象用于执行sql语句
    JdbcTemplate template = new JdbcTemplate(JDBCTemp.getDataSource());

    //    增加  任务
    public boolean add(Task task) {
        String sql = "insert into xm05_task_info(leaderID,leaderName,toWho,toWhoName,content,workload,status,progress,startTime,dueTime) VALUES(?,?,?,?,?,?,?,?,?,?)";
        int update = template.update(sql, task.getLeaderID(), task.getLeaderName(), task.getToWho(),task.getToWhoName(), task.getContent(),
                task.getWorkload(),task.getStatus(),task.getProgress(),task.getStartTime(), task.getDueTime());
        System.out.println(update);
        return update > 0;
    }

//    获取任务
    public List<Task> getMemberTaskList(Integer leaderID){
        System.out.println("---------开始查询数据-------");
        String sql = "select * from xm05_task_info where leaderID=?";
//        将查询的结果封装为一个userList集合返回
        List<Task> list = template.query(sql, new BeanPropertyRowMapper<Task>(Task.class),leaderID);
        System.out.println("-------共找到"+list.size()+"项数据------");
        return list;
    }
    //    组员获取任务
    public List<Task> getMyTaskList(Integer toWho){
        System.out.println("---------开始查询数据-------");
        String sql = "select * from xm05_task_info where toWho=?";
//        将查询的结果封装为一个userList集合返回
        List<Task> list = template.query(sql, new BeanPropertyRowMapper<Task>(Task.class), toWho);
        System.out.println("-------共找到"+list.size()+"项数据------");
        return list;
    }
    //    删除任务
    public boolean delete(int id) {
        String sql = "delete from xm05_task_info where id = ?";
        int update = template.update(sql, id);
//        根据所影响的行数来判断是否删除成功
        return update > 0;
    }
    //    删除项目经理的任务
    public boolean deleteLeader(int id) {
        String sql = "delete from xm05_task_info where leaderID = ?";
        int update = template.update(sql, id);
//        根据所影响的行数来判断是否删除成功
        return update > 0;
    }
    //    删除项目成员的任务
    public boolean deleteMember(int id) {
        String sql = "delete from xm05_task_info where toWho = ?";
        int update = template.update(sql, id);
//        根据所影响的行数来判断是否删除成功
        return update > 0;
    }
    //    更新任务进度
    public boolean updateProgress(int p,String s, int id) {
        String sql = "update xm05_task_info set progress=?,status=? where id = ?";
        int update = template.update(sql, p, s, id);
//        根据所影响的行数来判断是否删除成功
        return update > 0;
    }
}
